/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Conexion;

/**
 *
 * @author Sebastian
 */
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 *
 * @author bd2
 */
public class Servidor implements Runnable {

    ServerSocket socket;
    Socket cliente;//aceptar un cliente
    //envio y recepcion de informacion
    InputStream entrada;
    OutputStream salida;
    //los datos como tal
    DataInputStream entradaDatos, entradaDatos2;
    DataOutputStream salidaDatos;
    int a[];
    int cont;

    public Servidor() {
        this.cont = 0;
        this.a = new int[3];
        try {
            socket = new ServerSocket(5000);
            cliente = socket.accept();//acepto un cliente
            entrada = cliente.getInputStream();//canal de comunicacion q recibe lo que me escribe el cliente
            entradaDatos = new DataInputStream(entrada);
        } catch (Exception Error) {
            System.out.println("Error" + Error);
        }
    }

    public void recibir() {

        try {
            if (entrada != null && cont < 3) {
                a[cont] = entradaDatos.readInt();
                System.out.println(a[cont]);
                cont++;
            } else {
                cont = 0;
            }


        } catch (Exception Error) {
            System.out.println("Error" + Error);
        }
    }

    public int[] getA() {
        return a;
    }

    public void salida() {
        try {
            salida = cliente.getOutputStream();//canal de comunicacion q envia al cliente
            salidaDatos = new DataOutputStream(salida);//envio informacion
            salidaDatos.writeUTF("hola mijo");
            //cerar conexion cliente
            cliente.close(); // Con esto se cierra la conexión con el cliente.
            socket.close();
        } catch (Exception Error) {
            System.out.println("Error" + Error);
        }
    }

    @Override
    public void run() {
        while (true) {
            this.recibir(); 
        }
    }
}
